import lejos.nxt.SensorPort;
import lejos.nxt.Motor;
// Configuration class.
// All units should be in centimeters!

public class Configuration {
	// Hardware layout
	public static final Motor MOTOR_LEFT = Motor.A;
	public static final Motor MOTOR_RIGHT = Motor.B;
	public static final Motor MOTOR_MOWUNIT = Motor.C;

	public static final SensorPort ULTRASONICSENSOR_PORT = SensorPort.S3;
	public static final SensorPort COLOR_LIGHTSENSOR_PORT = SensorPort.S4;
	public static final SensorPort LIGHTSENSOR_PORT = SensorPort.S1;
	public static final SensorPort TOUCHSENSOR_PORT = SensorPort.S2;
	
	public static final SensorPort LEFT_LIGHTSENSOR_PORT = COLOR_LIGHTSENSOR_PORT;
	public static final SensorPort RIGHT_LIGHTSENSOR_PORT = LIGHTSENSOR_PORT;
	
	//Field dimensions in centimeters.
	public static final double LANE_LENGTH = 80;
	public static final double LANE_WIDTH = 6;
	public static final double LANE_LENGTH_ERROR_MARGIN = 5;

	// Direction for first turn. 1 is right, 0 is left.
	public static final short FIRST_TURN = 0;
	
	// Robot dimensions
	public static final double MOW_UNIT_LENGTH = 5;
	public static final double WHEEL_TO_LINESENSOR = 13;
	public static final double AFTER_LINE_CORRECTION = 5;
	
	public static final double WHEEL_DIAMETER = 4.32;
	public static final double WHEEL_BASE = 11-2.2;
	public static final double DRIFT_PCT = 0.02;
	
	// Sensor configuration.
	public static final long COLOR_SENSOR_INTERVAL = 50;
	public static final int COLOR_SENSOR_WHITE_THRESHOLD = 40;
	
	public static final int MINIMUM_SAFE_DISTANCE = 10;
	public static final int SPEED = 100;
	
}
